from modules import *
import random
from utils.tools import 暂无数据,随机获取列表

class 问题_工单列表(Page_Object):
    def __init__(self, page: Page):
        super().__init__(page)
        self.请选择所属区域 = self.page.locator(".el-cascader--small")
        self.街区 = self.page.locator(".el-cascader-menu__wrap").locator("li")
        self.社区 = self.page.locator(".el-cascader-menu__wrap").nth(1).locator("label")

        self.工单编号 = self.page.get_by_placeholder("工单编号")
        self.企业诉求 = self.page.locator(".el-input--suffix").nth(1)
        self.企业诉求列表 = self.page.locator(".el-select-dropdown__wrap").nth(5).locator("li")
        self.企业诉求编号 = self.page.get_by_placeholder("企业诉求编号")
        self.诉求类别 = self.page.locator(".el-input--suffix").nth(3)
        self.诉求类别列表 = self.page.locator(".el-cascader-menu__wrap").nth(1).locator("label")

        self.派单情况 = self.page.locator(".el-input--suffix").nth(4)
        self.办结情况 = self.page.locator(".el-input--suffix").nth(5)
        self.请选择工单对象 = self.page.get_by_placeholder("请选择工单对象")
        self.满意度 = self.page.locator(".el-input--suffix").nth(7)
        self.问题简述 = self.page.get_by_placeholder("问题简述")
        self.状态 = self.page.locator(".el-input--suffix").nth(10)

        self.搜索 = self.page.get_by_text("搜索")
        self.查询 = self.page.get_by_text("查询")
        self.重置 = self.page.get_by_text("重置")

        # self.暂无数据 = self.page.locator(".el-table__empty-text")
        # self.搜索结果第一列 = self.page.locator(".el-table__body-wrapper").locator("tbody").locator("tr").nth(0).locator("td").nth(0)


    def navigate(self):
        self.跳转("/workOrder/workOrderIndex")

    def search_搜索(self, 工单编号, 问题简述):
        self.工单编号.fill(工单编号)
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.问题简述.fill(问题简述)
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.企业诉求.click()
        企业诉求列表 = self.企业诉求列表
        count = 企业诉求列表.count()  # 注意：Playwright 中 count() 是异步方法
        if count > 0:
            # 随机选择一个索引
            random_index = random.randint(0, count - 1)
            # 点击对应的 li
            企业诉求列表.nth(random_index).click()
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()

        self.诉求类别.click()
        诉求类别列表 = self.诉求类别列表
        count = 诉求类别列表.count()
        if count > 0:
            random_index = random.randint(0, count - 1)
            # 点击对应的 li
            诉求类别列表.nth(random_index).click()
        self.查询.click()
        暂无数据(self.page)
        self.重置.click()